home *** CD-ROM | disk | FTP | other *** search
/ The Fatted Calf / The Fatted Calf.iso / Modules / BackSpaceModules / Source / MartinView / Thinker.h < prev   
Text File  |  1992-09-17  |  4KB  |  203 lines

  1.  
  2. #define IB_PARSE_HACK 0
  3.  
  4. #import <appkit/Application.h>
  5. #import <dpsclient/dpsNeXT.h>
  6. #include <sys/resource.h>
  7.  
  8. #define NOWINDOW        (0)
  9. #define NORMALWINDOW    (1)
  10. #define BACKWINDOW        (2)
  11.  
  12. #define SAVERTIER (50)
  13.  
  14. // I'm not at all happy with BackSpace's time handling; it only works
  15. // for 49 days after rebooting (according to my calculations... I boot
  16. // a lot more often than that!) since it counds milliseconds in a
  17. // 32 bit unsigned int.  This problem would be solved if I stuffed the
  18. // time in a long long, but I think the compiler doesn't correctly do
  19. // 64 bit comparisons.  Time should probably stay in the unix
  20. // timeval struct.  Yuck! guess I should write functions for time
  21. // addition and comparison...
  22.  
  23. // typedef long long BStimeval;  //doesn't work
  24. typedef unsigned BStimeval;
  25.  
  26. enum BSEvents {BSDOSAVER, BSOPENFILE};
  27.  
  28. BStimeval currentTimeInMs();
  29.  
  30. // a function to return BackSpace's Thinker instance or it's equivalent
  31. id BSThinker();
  32.  
  33. float frandom();
  34. float randBetween(float a, float b);
  35.  
  36. @interface Thinker:Object
  37. {
  38.     id    spaceView;
  39.     
  40.     id    spaceWindow;
  41.     id    normalWindow;
  42.     id    bigUnbufferedWindow;
  43.     id    bigBufferedWindow;
  44.  
  45.     BOOL timerValid, keepLooping;
  46.     BOOL doingSaver;
  47.     DPSTimedEntry timer;
  48.     
  49.     int windowType;
  50.     int realViewIndex;
  51.     int virtualViewIndex;
  52.     NXRect windowRect;
  53.     
  54.     NXZone *backZone;
  55.     
  56.     int screenCount;
  57.     id windMatrix;
  58.  
  59.     id screenSaver;
  60.     id screenLocker;
  61.     BOOL screenSaverVal;
  62.     id mySlider;
  63.  
  64.     id priorityLevel;
  65.     int priority;
  66.     int realDimInterval;
  67.     
  68.     int evs;    //event driver file descriptor
  69.     int oldDimBrightness, normalBrightness;
  70.     int dimTime;
  71.     
  72.     id myColorWell;
  73.     id viewSelectionBrowser;
  74.     id moduleList;
  75.     id imageView;
  76.     NXScreen *screens;
  77.     id screenList;
  78.  
  79.     id image;
  80.     int globalTier;
  81.     
  82.     id password;
  83.     
  84.     id invisibleInspectorBox;
  85.     id commonImageInspector;
  86.     id nullInspector;
  87.     id spaceInspector;
  88.     id currentInspector;
  89.     NXRect inspectorFrame;
  90.     id oldInspectorOwner;
  91.     BOOL browserValid;
  92.  
  93.     
  94.     char *fileToOpen;
  95.     BOOL openAnother;
  96. }
  97.  
  98. - appDidInit:sender;
  99. - appDidHide:sender;
  100. - appDidUnhide:sender;
  101. - createTimer;
  102. - removeTimer;
  103. - doDistributorLoop;
  104.  
  105. - installSpaceViewIntoWindow:w;
  106. - useNormalWindow;
  107. - (int) backingTypeForView:aView;
  108. - useBackWindow:(int)tier;
  109. - createBigWindowIfNecessaryForView:aView;
  110.  
  111. - getWindowType;
  112. - changeWindowType:sender;
  113. - changeWindowTypeAndRemember:(BOOL)rem;
  114.  
  115. - getScreenSaverSetting;
  116. - changeScreenSaverSetting:sender;
  117. - setScreenSaver:(BOOL)val andRemember:(BOOL)rem;
  118. - calcDimTime;
  119. - maybeDoScreenSaver:sender;
  120. - applicationDefined:(NXEvent *)theEvent;
  121. - doScreenSaverAndResetTimer;
  122. - showFakeScreenSaver:sender;
  123. - doScreenSaver:sender;
  124.  
  125. - getPrioritySetting;
  126. - changeSliderValue:sender;
  127. - saveSliderValue;
  128.  
  129. - setImageFromFile: (const char *) filename;
  130. - setImageFromName: (const char *) name;
  131. - commonImageInit;
  132. - getImageFile;
  133. - setImageFileFrom: sender;
  134.  
  135. #if !IB_PARSE_HACK
  136. @end
  137.  
  138.  
  139. @interface Thinker(thinkMore)
  140. #endif
  141.  
  142. - getBackgroundColor;
  143. - setBackgroundColor:sender;
  144.  
  145. - getViewType;
  146. - selectRealViewIndex:sender;
  147. - setVirtualViewIndexAndIncrement:(BOOL)flag;
  148. - selectScreenSaverViews;
  149. - setWindowTitle;
  150.  
  151. - getScreenLockerSetting;
  152. - changeScreenLockerSetting:sender;
  153. - setScreenLocker:(BOOL)val andRemember:(BOOL)rem;
  154.  
  155. - backView;
  156.  
  157. #if !IB_PARSE_HACK
  158. @end
  159.  
  160.  
  161. @interface Thinker(ioctls)
  162. #endif
  163.  
  164. - normalMode;
  165. - screenSaverMode;
  166.  
  167. - blackOutAllScreens;
  168. - unBlackOutAllScreens;
  169.  
  170. - getDimBrightness:(int *)b;
  171. - _setDimBrightness :(int *)b;
  172.  
  173. - getNormalBrightness :(int *)b;
  174.  
  175. - getDimTime :(int *)t;
  176. - getDimInterval :(int *)i;
  177. - setDimInterval :(int *)i;
  178.  
  179. - getDimStatus :(int *)s;
  180.  
  181. #if !IB_PARSE_HACK
  182. @end
  183.  
  184. @interface Thinker(inspector)
  185. #endif
  186.  
  187. - commonImageInspector;
  188. - nullInspector;
  189. - spaceInspector;
  190. - revertToDefaultImage:sender;
  191. - (BOOL)browser:sender columnIsValid:(int)column;
  192. - addCellWithString:(const char *)str at:(int)row toMatrix:matrix;
  193. - (int)browser:sender fillMatrix:matrix inColumn:(int)column;
  194.  
  195. - loadViewsFrom: (const char *) dirname;
  196. - doDelayedOpenFile;
  197.  
  198. - (const char *) appDirectory;
  199. - (const char *) moduleDirectory:(const char *)name;
  200.  
  201. @end
  202.  
  203.